The field of the invention relates to user interfaces and specifically to systems and methods for presenting different parts of data sets for comparison. Many applications operate on large data tables that cannot be displayed in their entirety on a single display screen. To compensate for this, these applications may only display a portion of the data set on screen at any time and allow users to scroll the data set in one or more dimensions to reveal portions of the data set that are off-screen. Scrolling may be accomplished via scrollbars, other user interface controls, or command inputs.
A problem arises when the user wishes to simultaneously view nonadjacent portions of the data set that are not close enough together to be on the screen at the same time. For example, a user may want to view data in table rows 1-5 and simultaneously view data in table rows 1001-1020. Although most displays are large enough to display these 25 rows simultaneously, there is not enough room to also present the intervening 995 rows of data.
One prior solution to this problem is to enable the user to split the data display into two or more regions or data panes, each of which can be scrolled or navigated independently. Continuing with the above example, this would allow the display to be split into a top region or data pane that could be scrolled to view table rows 1-5 and a bottom region or data pane that could be scrolled to view table rows 1001-1020.
One problem with this existing solutions is that the two (or more) data panes each can be scrolled anywhere over the entire set. This leads to situations where the user inadvertently scrolls one data pane to show some or all of the same data as another data pane. Even worse, a user may scroll one data pane past the region of the data set of another data pane, so that the physical arrangement of the data panes contradicts the relative locations of their displayed data.
For example, a user may initially split and configure the display of a data set into a left data pane showing table columns 100-120 and a right data pane showing table columns 1000-1020. However, if the user scrolls the right data pane all the way to the left, the right data pane will display table columns 1-20. In this configuration, columns 100-120 will be displayed on the left (in the left data pane) and columns 1-20 will be displayed on the right (in the right data pane). This arrangement can be very confusing to the user because the physical arrangement of the data panes contradicts the natural order of the data.